CosyOS-III API 用户参考手册  1.0.2
模块 | 宏定义
操作自身任务

仅适用于对自身任务的操作 更多...

操作自身任务 的协作图:

模块

 自身任务延时
 自身任务延时分为阻塞延时和就绪延时。
 

宏定义

#define uYieldTasking   su_yield_tasking()
 禅让任务 更多...
 
#define uSetTaskingPri(npri)    sUSV_SetTaskPri(s_task_current, npri)
 设置自身任务优先级 更多...
 
#define uSuspendTasking   sUSV_SuspendTask(s_task_current)
 挂起自身任务 更多...
 
#define uDeleteTasking   sUSV_DeleteTask(s_task_current)
 删除自身任务 更多...
 
#define uResumeSuspend(task)    sUSV_ResumeSuspend(u_taskhandle_##task)
 恢复指定任务并挂起自身任务 更多...
 

详细描述

仅适用于对自身任务的操作

宏定义说明

#define uDeleteTasking   sUSV_DeleteTask(s_task_current)

删除自身任务

返回
错误码(s_ecode_t)
注解
虽然也返回错误码,但在正常情况下结果一定是成功的,不必查看错误码。

在文件 ur_api.h500 行定义.

#define uResumeSuspend (   task)    sUSV_ResumeSuspend(u_taskhandle_##task)

恢复指定任务并挂起自身任务

参数
[in]task指定任务名称
返回
错误码(s_ecode_t)
返回值
OS_ECODE_NOERROR无错误
OS_ECODE_TASKNOTREADY指定任务未就绪
OS_ECODE_TASKSTOPPED指定任务已停止
OS_ECODE_TASKNOTSTARTED指定任务未启动/已删除
注解
当返回错误时,指定任务未能恢复为就绪状态,自身任务不会挂起。

在文件 ur_api.h512 行定义.

#define uSetTaskingPri (   npri)    sUSV_SetTaskPri(s_task_current, npri)

设置自身任务优先级

参数
[in]npri新优先级
返回
错误码(s_ecode_t)
返回值
OS_ECODE_NOERROR无错误
OS_ECODE_TPLUNCHANGED优先级未改变

在文件 ur_api.h486 行定义.

#define uSuspendTasking   sUSV_SuspendTask(s_task_current)

挂起自身任务

返回
错误码(s_ecode_t)
注解
虽然也返回错误码,但在正常情况下结果一定是成功的,不必查看错误码。

在文件 ur_api.h493 行定义.

#define uYieldTasking   su_yield_tasking()

禅让任务

自身任务主动禅让CPU使用权,轮转至下一个相同优先级的任务运行。

返回
注解
多个相同优先级的任务,通过禅让的方式可实现合作式任务。
禅让是自身任务主动时间片到期,禅让后任务仍为就绪状态。
警告
当开启相同优先级任务的时间片轮转调度时,才支持此服务。

在文件 ur_api.h477 行定义.